settings.onFlush   A
last analyzed

Complexity

Conditions 3
Paths 2

Size

Total Lines 11

Duplication

Lines 0
Ratio 0 %

Importance

Changes 1
Bugs 0 Features 0
Metric Value
cc 3
c 1
b 0
f 0
nc 2
nop 1
dl 0
loc 11
rs 9.4285

1 Function

Rating   Name   Duplication   Size   Complexity  
A 0 3 1
1
var Factory = require('./Factory').Factory
2
3
var settings = {
4
  defaults: {
5
    allure: {
6
      filename: 'voxengine.log',
7
      mimeType: 'text/plain'
8
    }
9
  },
10
  state: {messages: []},
11
  handlers: {
12
    write: function (self, message) {
13
      self._state.messages.push({timestamp: new Date(), message: message})
14
    }
15
  },
16
  onFlush: function (self) {
17
    var allure = self._settings.allure
18
    if (!allure.enabled || !global.allure) {
19
      return
20
    }
21
    var lines = self._state.messages.map(function (entry) {
22
      return entry.timestamp.toISOString() + ': ' + entry.message
23
    })
24
    var content = lines.join('\r\n')
25
    global.allure.createAttachment(allure.filename, content, allure.mimeType)
26
  }
27
}
28
29
module.exports = {
30
  Logger: Factory.create('Logger', settings)
31
}
32